package com.yunzhou.service;

import com.yunzhou.entity.UserInfo;
import com.yunzhou.vo.UserDetailVO;
import com.yunzhou.vo.UserLoginVO;
import jakarta.servlet.http.HttpSession;

public interface UserService {

    UserInfo selectByUserId(Long userId);

    UserInfo selectByEmail(String email);

    UserInfo selectByNickname(String nickname);

    // 登录
    UserLoginVO login(HttpSession session, String email, String password, String imageCheckCode);

    // 发送邮件（注册用）
    void sendRegisterEmailCheckCode(HttpSession session, String email, String imageCheckCode);

    // 注册
    void register(HttpSession session, String email, String emailCheckCode, String password, String imageCheckCode);

    // 获取用户详细信息
    UserDetailVO getUserDetail(Long userId);

    // 修改用户信息
    void updateUserInfo(UserInfo userInfo);
}
